Skip to content

feat(layout): write line caches for bold characters in 한양신명조 and 한양중고딕 - #504

Open
airmang wants to merge 1 commit into
mainfrom
feat/layout-line-caches-hanyang-bold
Open

airmang wants to merge 1 commit into
mainfrom
feat/layout-line-caches-hanyang-bold

Conversation

@airmang

@airmang airmang commented Oct 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • write_line_caches left every paragraph holding bold characters in a 한양 face for Hancom Office, because FormFit laid those glyphs out at their regular advance.
  • Since fix(form_fit): lay bold glyphs in the 한양 faces out a twentieth of the em wider #501, FormFit lays bold glyphs in the 한양 faces out a twentieth of the em wider, as Hancom does. Paragraphs with bold characters in 한양신명조 and 한양중고딕 now get caches.
  • Bold characters in 한양견고딕 and HCI Hollyhock are still left for Hancom: some of their bold glyphs take other advances.

Test plan

  • The look tests now expect caches for bold 한양신명조 and none for bold 한양견고딕 or HCI Hollyhock; the first fails before the change
  • Line cache tests, lint, format, type checks and the other repository gates

🤖 Generated with Claude Code

@airmang airmang left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed exact head 5e4002c, _bold_sure/_sure_of, and FormFit's bold advance path. All current CI checks pass; verified workflow head and inspected logs (6,929 passed, 18 skipped, 1 xfailed, lint/types/hygiene pass). 156 local cache/FormFit tests passed. Holding for the uncovered non-100% Hanyang-bold eligibility case described inline. The reproduced behavior establishes that an unverified metric path is now accepted for authoritative cache writing; actual Hancom width at those ratios has not been verified in this review. COMMENT because this account owns the PR.

#: The faces whose bold characters FormFit lays out at Hancom's advances: their regular ones, or a twentieth of
#: an em wider in 한양신명조 and 한양중고딕. Some bold glyphs of 한양견고딕 and HCI Hollyhock Hancom lays out at
#: other advances: bold characters in them are left.
_BOLD_SURE_FACES = _SURE_FACES - {"한양견고딕", "HCI Hollyhock"}

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Restrict the new bold opt-in to ratios FormFit has verified. Removing these two faces from the exclusion enables them across _SURE_RATIOS=50..200, while measure._laid_out only applies the Hanyang bold widening inside ratio == 100 (as #501 explicitly documents). On this head, a 14pt 한양신명조 bold paragraph at ratio=90 writes a cache (written=1), but char_advance('가',14,...) is 1260 for both regular and bold; ratio=110 similarly gives 1540 for both. The added test covers only default ratio=100. Since a cache fixes line breaks in Hancom, this should remain excluded outside the measured bold ratio until saved-Hancom fixtures verify those combinations. Please guard the applicable script ratios for these bold faces, or extend/verify their metric path before admitting them.

@airmang
airmang force-pushed the feat/layout-line-caches-hanyang-bold branch from 5e4002c to 98356fc Compare October 17, 2026 17:53

@airmang airmang left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed exact new head 98356fc. Range-diff against the previously reviewed head shows rebase/CHANGELOG placement only; the bold eligibility and tests are unchanged. All 53 local line-cache tests and all 13 exact-head CI checks pass; workflow head verified and logs inspected (6,930 passed, 18 skipped, 1 xfailed, lint/types/hygiene pass). Existing unresolved inline finding PRRT_kwDOPxXhd86tiXjd remains applicable: bold Hanyang caches are admitted outside ratio=100 although that widening path is measured only at 100%. Hold remains; no duplicate inline finding.

@airmang
airmang force-pushed the feat/layout-line-caches-hanyang-bold branch from 98356fc to 3d5a047 Compare October 18, 2026 00:07

@airmang airmang left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed exact new head 3d5a047 and surrounding code. The updated head retains the previously reviewed implementation while incorporating the latest base and fixture/changelog merges. The existing unresolved Hanyang-bold ratio finding remains: ratio 90/110 cache writes are admitted while the bold advance equals the regular advance outside ratio=100. Exact-head reproduction still writes those caches; no new inline duplicate.

All 55 related local tests passed. All 13 exact-head CI checks pass; verified workflow head SHA and inspected logs (6,933 passed, 18 skipped, 1 xfailed plus lint/type/hygiene gates). Passing checks do not cover the reproduced issue; hold remains. COMMENT because this account owns the PR.

@airmang
airmang force-pushed the feat/layout-line-caches-hanyang-bold branch from 3d5a047 to 6008ce8 Compare October 18, 2026 06:02

@airmang airmang left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed exact new head 6008ce8 and its range-diff against the prior review. Changes are base/CHANGELOG or fixture-list integration; the implementation underlying the existing unresolved inline finding is unchanged.

Hanyang-bold eligibility at ratios 90/110 still writes authoritative caches while bold and regular advances are identical outside the measured ratio-100 path. Hold remains; no duplicate inline thread added.

All 56 related local tests pass. All 13 exact-head CI checks pass; workflow head SHA verified and test/lint/type/hygiene logs inspected (6,938 passed, 18 skipped, 1 xfailed). Those checks do not cover the reproduced finding. COMMENT because this account owns the PR.

write_line_caches left paragraphs holding bold characters in a 한양 face for Hancom Office, because FormFit
laid them out at their regular advance. FormFit now lays them out a twentieth of the em wider, as Hancom
does, so bold characters in 한양신명조 and 한양중고딕 get caches; those in 한양견고딕 and HCI Hollyhock,
some of whose bold glyphs take other advances, are still left.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@airmang
airmang force-pushed the feat/layout-line-caches-hanyang-bold branch from 6008ce8 to 67f43cc Compare October 18, 2026 12:18

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant